package cz.muni.fi.pa165.travelagency.services;

import cz.muni.fi.pa165.travelagency.dto.CustomerDTO;
import java.util.List;

/**
 *
 * @author Jan Novotný
 */
public interface ICustomerService {
    
    /**
     * Creates new customer
     * @param customer to be created
     */
    public void createCustomer(CustomerDTO customer);

    /**
     * Removes customer
     * @param customer for removal
     */
    public void deleteCustomer(CustomerDTO customer);

    /**
     * Retrieves all customers
     * @return all customers
     */
    public List<CustomerDTO> findAll();

    /**
     * Retrieves customers with searched name
     * @param name of customer
     * @return found customers
     */
    public List<CustomerDTO> findByName(String name);

    /**
     * Retrieves customer by id
     * @param id of customer
     * @return found customer
     */
    public CustomerDTO getCustomer(Long id);

    /**
     * Updates customer data
     * @param customer for update
     */
    public void updateCustomer(CustomerDTO customer);
}
